GIT and GitHub

Intergration with R and IDEs (e.g. Rstudio)

Liberty Mlambo

University of Nottingham

1 Introduction

1.1 Why use GIT and GitHub to collaborate?

2 Git

2.1 Git

Open source

Tracks file changes

Branch based non-linear workflows

IDE intergration

Speed of work

Local environment

3 GitHub

3.1 Fremium Repository based

  • Fremium cloud based version control using Git
  • Repository based (Projects)

3.2 Built-in security

3.3 File History Tracking

3.4 Unlimited Public/ Private Repositories

3.5 Track issues and task progress

3.6 Track issues and task progress

3.7 Lessons learnt

Cloud storage and collaboration very important and a key focus area

Reproducibility through version tracking is fundamental

Choose tools carefully to avoid security lapses

CTRL + ALT + SHIFT+F (Git Urgent)

4 Practical demonstration

4.1 Assumptions and Requirements

Assumptions

  • Computer (Mac, Windows, Linux, etc..) with administrative privileges
  • Software download and installation experience

Requirements

  • GitHub account
  • GitHub desktop
  • Git

4.2 Github signup

4.3 Github desktop download

4.4 Github desktop documentation

4.5 Git glossary

command Description
git init git init turns any directory into a Git repository. 1
git add <path> The git add command adds new or changed files in your working directory to the Git staging area. 2
git commit and git commit message git commit -m "descriptive commit message" creates a commit, which is like a snapshot of your repository. These commits are snapshots of your entire repository at specific times. You should make new commits often, based around logical units of change. Over time, commits should tell a story of the history of your repository and how it came to be the way that it currently is. Commits include lots of metadata in addition to the contents and message, like the author, timestamp, and more.3

4.6 Git

5 Further reading

5.1 Further reading

6 Questions?